[acceso] [final] class Nombre { miembros }Un miembro puede ser un constructor, un campo, un método o una clase interior. Una clase pública debe encontrarse en su propio archivo Nombre.java.
[acceso] [static] [synchronized] ... //Encabezado de método nombre tipovalor (tipo arg1, tipo arg2, ...) [throws Excepcion_1, ... , Excepcion_i] { declaraciones e instrucciones //Cuerpo de método }
for ( init; cont condición; actualiza) //Control del ciclo instrucción //Cuerpo del cicloLa parte init puede ser una lista de expresiones sencilla o separada por comas, al igual que la parte actualiza.
if ( condición ) instrucción uno else instrucción dos
switch ( int-expresión ) { case constante-exp1: instrucciones case constante-exp2: instrucciones . . . default: instrucciones }Las instrucciones suelen terminar con break para evitar la caída.
nombre-etiqueta: instrucción break nombre-etiqueta ó continue nombre-etiqueta
do cuerpo while ( condición );
objeto.miembroAcceso a miembro de caso heredado oculto:
super.miembro (asigna-a-superclase)this.campoAcceso a miembro estático:
nombreClase.miembro objeto.miembro
a+bdonde por lo menos a o b es una cadena. Un operador que no es una cadena debe ser un tipo primitivo o un objeto con toString sobrecargado.
try { instrucciones } catch ( e-tipo, e ) { instrucciones } catch ( e-tipo, e ) { instrucciones } ... finally { instrucciones }
( nombre-tipo ) expresión
[acceso] [final] class Nombre extends superclase { cuerpo de clase extendido }
public ClassName(arg1, ...) { super(...); ... }
public interface NombreInterfaz { ... }
acceso class ClaseX extends ClaseY implements Interfaz_1, Interfaz_2, ... { cuerpo de clase }
new nombreSuper() { cuerpo de la clase };
public AppletName extends Applet { public void init() { ... } public void start() { ... } public void stop() { ... } public void destroy() { ... } public void paint(Graphics g) { ... } }
public static void main(String[] args) { //Proceso de argumentos de línea de comandos Frame win = new Frame ("PieChart"); //Ventana de nivel superior //Configura win con barra de menús, etc. //Establece otros componentes win.add(...); win.setSize(width, height); win.setVisible(true); }
BufferedReader rdr = new BufferedReader (new InputStreamReader(in)); String line = rdr.readLine(); char c = rdr.read(); PrintWriter wtr = new PrintWriter(new BufferedWriter (new OutputStreamWriter(out)), true); wrt.println(...); wrt.print(...);
public boolean equals ( object y ) //Sobreescritura { return ( y == this || //Misma referencia (this.getClass() == y.getClass()) //Misma clase && num == ((Fraction(y).num && denom == ((Fraction(y).denom ) //Compara miembros ); }
Una clase contiene miembros que pueden ser campos y métodos. Un mensaje enviado a un objeto activa (o invoca) un método de ese objeto, le pasa argumentos y obtiene el valor que devuelve. Los objetos interactúan al enviar y recibir mensajes.
Las clases pueden estar organizadas en paquetes con un nombre.
class Nombre //Encabezado de clase { miembros //Cuerpo de la clase }Un miembro pude ser un campo (datos) o un método (instrucciones). Para declarar una clase como pública se le debe agregar el modificador public. Una clase solo puede ser vista desde dentro de su paquete, a menos que se haga pública.
Todas las partes de un programa que tienen acceso a la clase pueden acceder a los miembros de ésta que se hayan declarado como public.
El método main es público para que pueda ser invocado por el intérprete de Java. También es static. Un miembro es un miembro de instancia a menos que se haya declarado como static que lo convierte en un miembro de clase.
Una definición de método contiene encabezado y un cuerpo. El encabezado define el nombre del método y el tipo del valor de regreso; también especifica variables conocidas como parámetros formales. El cuerpo incluye una secuencia de declaraciones e instrucciones encerrados entre llaves {}.
tipo-de-regreso nombre ( tipo arg1, tipo arg2, ... ) //Encabezado de método { declaraciones e instrucciones //Cuerpo del método }Si el control fluye fuera del final de un método o se devuelve a través de un return sin argumento, el valor de devolución queda sin definir y el tipo de regreso del método será void.
Antes de utilizar una variable, es necesario declararla. Una declaración simple consta de un nombre de tipo, seguido por una lista de nombres de variables separados por comas y terminados con punto y coma. A cada variable se le puede asignar un inicializador opcional después de un signo de igual (=).
El punto (.) es el operador de miembro-de y se aplica a objetos. Una función especial del operador (+) es que sirve para unir a una cadena otros tipos de datos de Java según convenga. Una constante de cadena se da como una secuencia de caracteres encerrados entre comillas dobles ("). Utilice \" para incluir un caracter de comillas dobles. Las cadenas son objetos de la clase integradora String.
Una expresión relacional arroja un valor de tipo boolean. Los operadores relacionales son:
Operador Significado > Mayor que < Menor que == Igual a != No es igual a >= Mayor o igual a <= Menor o igual aJava tiene los operadores aritméticos usuales: +, -, * y /; además incluye el remanente entero %. No existen operadores para potencias o exponentes. El sobreflujo aritmético de enteros pasa sin ser detectado y da como resultado un módulo de respuesta del tamaño del tipo.
A la condición se le conoce como condición de continuación. La variable que cambia su valor tras cada repetición y determina cuándo se detiene el ciclo se conoce como variable de control de ciclo.
Como una instrucción puede ser simple o compuesta, entonces las instrucciones del if..else pueden ser compuestas, en la forma {st_1;...;st_n}. Puede omitirse la parte else.
La parte init se ejecuta antes de que se inicie el ciclo for. La condición cont se prueba. Si es verdadera, la instrucción o cuerpo del ciclo for se ejecuta una vez. Entonces se ejecuta la parte actualizar; En seguida se revalúa la condición de continuación. Si es verdadera, el cuerpo se ejecuta una vez más. Si es falsa, se termina la instrucción.
Es posible que el cuerpo de for se omita sin ejecutarse. Es posible omitir una o más partes del control del ciclo for. Es incluso posible escribir un for con un cuerpo vacío o una instrucción nula:
for ( control ) {} //Cuerpo de ciclo vacío for ( control ) ; //Cuerpo de ciclo con instrucción nulaEs una práctica común mover la instrucción de la declaración dentro de for, así la variable es local para el ciclo for y no puede utilizarse después de él.